package thread;

/**
 * @User: vitobo
 * @Date: 2024-07-23
 * @Description: 线程的几个常见属性
 *
 * isAlive 是在判断, 当前系统里面的这个线程 是不是真的有了
 */
public class ThreadDemo6 {
    public static void main(String[] args) {
       Thread t = new Thread(new Runnable() {
           // run执行完了, 内核里面的pcb就释放了, 操作系统里的线程就没有了
           @Override
           public void run() {
               for (int i = 0; i < 3; i++) {
                   System.out.println("hello");
                   try {
                       Thread.sleep(1000);
                   } catch (InterruptedException e) {
                       throw new RuntimeException(e);
                   }
               }
           }
       }, "mythread");

       // 把t设置成守护线程/后台线程, 此时进程的结束就和t无关了;
       // t.setDaemon(true);
       t.start();

       // 在真正调用start之前,调用t.isAlive就是false; 调用start之后, isAlive就是true

       while (true){
           try {
               Thread.sleep(1000);
               System.out.println(t.isAlive());
           } catch (InterruptedException e) {
               throw new RuntimeException(e);
           }
       }
    }
}
